package zestaw1.enumeracje2;

import java.util.EnumMap;
import java.util.Locale;

/**
 * Author: Daniel Michalski
 * Date: 13.07.13
 */

public class Kiosk {

    public Kiosk() {
        // Sprowadzamy gazety
        trans(Transaction.SUPLY, Gazety.Glos, 20);
        trans(Transaction.SUPLY, Gazety.Polityka, 20);
        trans(Transaction.SUPLY, Gazety.Gazeta, 20);

        // Możemy też pisać tak
        Transaction.SUPLY.perform(Gazety.Gazeta, 10);
        Transaction.SUPLY.perform(Gazety.Polityka, 10);

        System.out.println("Po dostawie w kiosku są następujące gazety: ");
        double cost = 0;
        for (Gazety g : Transaction.getStanMagaz().keySet()) {
            int n = Transaction.getStanMagaz().get(g);
            cost += g.getCenaDetaliczna() * n;
            System.out.println(g + " - liczba egzemplarzy " + n);
        }
        System.out.println("Wydano " + cost);

        // Sprzedajemy troche
        Transaction.SALE.perform(Gazety.Polityka, 15);
        Transaction.SALE.perform(Gazety.Glos, 10);
        Transaction.SALE.perform(Gazety.Gazeta, 20);

        // Co sprzedano i ile
        double income = 0;
        System.out.println("Sprzedano gazety: ");
        for (Gazety g : Transaction.getSprzedane().keySet()) {
            int n = Transaction.getSprzedane().get(g);
            income += g.getCenaDetaliczna() * n;
            System.out.println(g + " - liczba egzemplarzy " + n);
        }

        System.out.println("Dochód " + income);
        System.out.println("Zarobek: " + (income - cost));

        // Inny sposób wycciągania danych
        System.out.println("Zostały do sprzedaży:");
        for (Gazety g : Gazety.values())
            System.out.println(g + " - liczba egzemplarzy: " + Transaction.getStanMagaz().get(g));
    }

    public void trans(Transaction t, Gazety g, int n) {
        t.perform(g, n);
    }

    public static void main(String[] args) {
        Kiosk kiosk = new Kiosk();
    }
}
